package com.mmall.concurrency.example.singleton;

import com.mmall.concurrency.annoations.NotThreadSafe;
import com.mmall.concurrency.annoations.ThreadSafe;

/**
 * 饿汉模式
 * 单例的实例在类装载的时候被创建
 * 饿汉模式可能会造成资源浪费和类加载缓慢，要避免这两点需要这个类构造时没有那么复杂，还要保证这个对象一定会被使用
 */
@ThreadSafe
public class SingletonExample2 {

    // 私有的构造函数
    private SingletonExample2(){

    }
    // 单例对象
    private static SingletonExample2 instance = new SingletonExample2();

    // 静态的工厂方法
    public static SingletonExample2 getInstance(){
        return instance;
    }
}
